1. Field of the Invention
The present invention relates to an inter-processor communication system in a parallel processing system by a multiprocessor and, more particularly, to an inter-processor communication system in a parallel processing system by an OS for single processors which operates, on a multiprocessor, an OS for single processors and an existing application to enable the application to realize parallel processing by the multiprocessor.
2. Description of the Related Art
In data processing devices such as portable terminals including a cellular phone and a portable PC, it is a current practice that an operating system for single processors (hereinafter referred to as an OS for single processors) and an application for single processors (hereinafter simply referred to as an application) are executed basically on a single processor.
Under these circumstances, when using the above-described application on a multiprocessor basis without modification, the application should be executed on an OS for multiprocessors in place of the above-described OS for single processors.
Among such systems which control execution of an OS for multiprocessors and an application on a multiprocessor system as described above are, for example, the conventional art disclosed in Japanese Patent Laying-Open (Kokai) No. Heisei 3-257652 and Japanese Patent Laying-Open (Kokai) No. Heisei 3-113563.
Japanese Patent Laying-Open (Kokai) No. Heisei 3-257652 (Literature 1) discloses a method of controlling interruptions between processor elements in a multiprocessor system composed of a plurality of processor elements.
Japanese Patent Laying-Open (Kokai) No. Heisei 3-113563 (Literature 2) discloses a method of scheduling processes to be assigned to a plurality of processors in a multiprocessor system.
On the other hand, Japanese Patent Laying-Open (Kokai) No. 2003-058515 (Literature 3) discloses a method of executing an individual process in a plurality of processor elements.
When on an OS for multiprocessors, operating an existing application as in conventional art, however, the OS for multiprocessors provides services for multiprocessors even when the application uses only one among a plurality of the processors, or continues processing mutually exclusive of other processors even when no other application operates, so that the extra processing causes overheads and modifying the above-described application so as to be used for multiprocessors requires enormous labor and costs.
In particular, when realizing a parallel processing system by a multiprocessor in such small-sized data processing devices as portable terminals including a cellular phone and a portable PC, overheads in processing of an OS for multiprocessors and modification of an application become hindrances.
Under these circumstances, when an application is used without modification on an existing OS for single processors, demanded is realization of a parallel processing system by an OS for single processors that is capable of operating, on a multiprocessor, an existing application without modification, for which proposed is, for example, the parallel processing system by an OS for single processor whose patent application is filed by the applicant of the present invention and is disclosed in Japanese Patent Laying-Open No. 2003-345614 (Literature 4).
Furthermore, in conventional multiprocessor systems by an OS for multiprocessors, communication between tasks in the same processor is realized by using a UNIX domain socket and communication between tasks operating on the respective processors is realized by using a TCP/IP protocol. In other words, data communication between tasks is realized differently in the same processor and between processors by using different communication systems.
An application executed in a processor on which an OS for single processors operates is basically allowed to communicate within the same processor by using a dedicated communication system provided in the OS.
Therefore, for operating such an application between different processors on a multiprocessor system to enable data transfer between the processors similarly to a multiprocessor system by an OS for multiprocessors, modification of the application is required to have a function which enables data communication between processors.
When realizing, in small-sized data processing devices such as portable terminals including a cellular phone and a portable PC, a parallel processing system which operates an OS for single processors on each processor of multiprocessors, the above-described need of modification of an application bottlenecks the system realization.
Under these circumstances, demanded is such a parallel processing system as operates an OS for single processors on each of multiprocessors and as enables, without modification of an application for the OS for single processors, inter-processor communication by the application.